﻿// Copyright (c) 2025 liucl
// Inject is licensed under Mulan PSL v2.
// You can use this software according to the terms and conditions of the Mulan
// PSL v2.
// You may obtain a copy of Mulan PSL v2 at:
//          http://license.coscl.org.cn/MulanPSL2
// THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY
// KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.

#pragma once
#include <wx/treectrl.h>
#include <wx/wx.h>
struct ProcessTreeItemData;
class ProcessControl : public wxControl {

public:
  ProcessControl(wxWindow *parent, wxWindowID id = wxID_ANY);

private:
  wxDECLARE_EVENT_TABLE();

private:
  void OnRightClick(wxTreeEvent &event);
  void OnInject(wxCommandEvent &event);
  void OnRefresh(wxCommandEvent &event);

private:
  void EnumProcess();

private:
  wxTreeCtrl *processTree_;
  ProcessTreeItemData *itemData_;
};

wxDECLARE_EVENT(EVT_EVENT_INJECT, wxCommandEvent);
